Random access memories (RAM) are memories that may be used to store data for electronic systems. A volatile memory is a memory that loses its contents when power is removed from the memory. Therefore, volatile RAM retains its contents only when a device including the memory is powered on. As a result, when a device is powered on, data may be copied from a non-volatile memory source (e.g., a hard drive) to the volatile RAM in order to use the RAM.
There are several varieties of volatile RAM. Two of the most common types of memory available are static random access memory (SRAM) and dynamic random access memory (DRAM). SRAM includes several transistors arranged as a flip-flop to store each bit of memory. DRAM includes a transistor and a capacitor used to store each bit of memory. Since capacitors leak charge, a DRAM is constantly refreshed (i.e., the capacitors are recharged) to retain data stored in the DRAM. DRAM has fewer components and is less complex, and is therefore less expensive than SRAM. On the other hand, SRAM is faster than DRAM and does not require a refresh cycle. In a system incorporating DRAM, the refresh operation (e.g., RAS and CAS) place a burden on system resources such as a CPU or a memory controller that coordinates data operations to the DRAM.
FLASH memory is a type of non-volatile memory in that it retains stored data when power is removed from the memory. FLASH memory may therefore be useful in devices that require fast data access upon system booting. However, FLASH memory typically uses a complex logic interface, including state machines and other logic devices, to read and program the memory. FLASH memory may also be slower than DRAM or SRAM, because FLASH memory includes the complex logic interface and because FLASH memory is programmed in blocks of bits. For example, non-volatile RAM (e.g., FLASH memory) and non-volatile memory cards (e.g., FLASH memory cards such as a SD™ card) utilize an erase operation prior to writing. That is, non-volatile FLASH memory is not able to perform consecutive, or back to back, write operations. Data must be erased prior to the next write. A block of data may be erased at one time using one action, or one “flash.” It is from this erase process that the name “FLASH memory” was drawn. The erase process also causes non-volatile RAM and non-volatile memory cards to be too slow for widespread use, but useful in certain applications (e.g., as a portable data storage option).
Many existing devices use SRAM, DRAM, FLASH memory, FLASH memory cards, other types of RAM, and various other memory technologies. Those devices are subject to the limitations of the aforementioned memory types. There are continuing efforts to improve memory technology in electronic systems.
Although the previous Drawings depict various examples of the invention, the invention is not limited by the depicted examples. Furthermore, the depictions are not necessarily to scale.